var express = require('express')
var multer  = require('multer')
const path = require("path");
const app =express()
const uploads = (req,res,next)=>{
    var storage = multer.diskStorage({
        destination: function (req, file, cb) {
            
          cb(null, path.resolve("./uploads"))
        },
        filename: function (req, file, cb) {
            console.log(file)
            //获取后缀名
            const filename = /\.[^.]+/.exec(file.originalname);
            console.log(filename)//[ '.jpg', index: 1, input: 'G.jpg', groups: undefined ]
            //获取后缀名后 命名上传内容的名字
            const fileUrl = file.fieldname + '-' + Date.now()+filename[0]
            //然后我要存的是这个文件的路径名,而不是单纯的文件名,以后访问都是根据服务器上的路径名拿文件的
            req.body.companyLogo='http://127.0.0.1:3000/'+fileUrl
            
          cb(null,fileUrl )
        }
      })
    
      //.single() 填在里面的字符串,会变成上面 filename 和 destination 里面的file参数 里面的 fieldname的值
      var upload = multer({ storage: storage }).single("companyLogo");
    
  
        upload(req, res, function (err) {
          if (err instanceof multer.MulterError) {
            // 发生错误
            res.send("上传失败")
          } else {
              next()
          }
      
          // 一切都好
        })
     
}

module.exports={
    uploads
}